import { defineStore } from "pinia";
import { request } from "@/assets/js/axios";
export const useAppStore = defineStore({
    id: "app",
    state: () => {
        return {
            config: "app",
            name: "name",
            num: 1,
        };
    },
    actions: {
        // 设置数据
        setData(data: string): void {
            this.config = data;
        },
        // 请求数据
        getData(data: object): Promise<any> {
            // 请求链接
            let url: string = "/citylist/id/2";
            // 请求类型
            let type: string = "get";
            // 返回一个Promise对象，方便做业务层处理
            return new Promise(
                (
                    resolve: (value: object) => void,
                    reject: (value: object) => void
                ) => {
                    // 请求数据
                    request(url, data, type)
                        .then(({ data }) => {
                            // 请求成功
                            // 获取到的数据可以在这里处理
                            resolve(data);
                        })
                        .catch((error) => {
                            // 请求出错
                            console.log("请求出错 error", error);
                            reject(error);
                        });
                }
            );
        },
    },
    // 开启数据缓存，数据默认存在 sessionStorage 里，并且会以 store 的 id 作为 key。
    persist: {
        enabled: true,
    },
});
